package com.task.core.mapper;

import java.util.List;

import com.task.core.vo.resp.PluginDetailRespVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.task.common.domain.info.KeyAndValue;
import com.task.common.info.PluginInfo;
import com.task.core.dto.request.PluginRequestDTO;

/**
 * @author 迪迦.
 * @date 2024/11/4 17:33
 */
@Mapper
public interface PluginMapper {

  List<PluginInfo> getPluginByPage(PluginRequestDTO request);

  PluginInfo getPluginByCode(PluginRequestDTO request);

  List<KeyAndValue> getPluginForOption(PluginRequestDTO request);

  void addPlugin(PluginRequestDTO request);

  Integer modifyPlugin(PluginRequestDTO request);

  Integer deletePlugin(@Param("code") String refererSourceCode, @Param("userId") Long userId);

  void deleteMissionPluginRelation(String pluginCode);

    PluginDetailRespVo getPluginDetail(PluginRequestDTO pluginRequestDTO);
}
